from sqlalchemy import Boolean, Column, Integer, String, DateTime
from app.db.database import DBase
from datetime import date

class Company_DB(DBase):
    """
    公司信息表的数据库模型类
    继承自DBase类，用于定义公司信息表的字段和属性

    Attributes:
        company_id (str): 公司ID，主键，长度为32
        companyName (str): 公司名称，唯一，长度为50
        creditCode (str): 统一社会信用代码，唯一，长度为20
        subDistrict (str): 所属区县，长度为20
        addre (str): 公司地址，长度为50
        create_time (DateTime): 创建时间，默认为当前时间
        create_by (str): 创建人，长度为20
        update_time (DateTime): 更新时间，默认为当前时间
        update_by (str): 更新人，长度为20
        remark (str): 备注，长度为100
    """
    
    __tablename__ = "company"

    company_id = Column(String(32), primary_key=True, index=True)
    companyname = Column(String(50), unique=True)
    creditcode = Column(String(20), unique=True)
    subdistrict = Column(String(20))
    address = Column(String(100))
    linkman = Column(String(10))
    phone = Column(String(20))
    del_flag = Column(String(1), default="0")
    create_by = Column(String(20), default="")
    create_time = Column(DateTime, default=date.today())
    update_by = Column(String(20), default="")
    update_time = Column(DateTime, default=date.today())
    remark = Column(String(100), default="")
    
    